/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mygameframework.scenes;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;

/**
 * 让Scene的实现类实现该接口,
 * 仅用于使用贴图(tile)类型场景(scene)时,配合Renderer 类使用,以便
 * 高效率渲染.
 * 当在非tile的scene中,无须在Scene类中实现该接口,实现该接口是不适合的
 * @author bill
 */
public interface IRenderable {
     /**
     *
     * @param g2 程序员不应手动调用dispose;
     * @param givenRect 要渲染的区域(在screenSpace内)
     * @param dstX 打印的坐标X
     * @param dstY
     * @param ptMap 当前渲染到地图坐标哪点
     */
    void render(Graphics2D g2,Rectangle givenRect,int dstX,int dstY,Point ptCurrMap,int layerIdx);
    BufferedImage getOffScreenImage();
    Graphics2D getOffScreenGraphics();
    boolean isBasedMapScaleLayering();
    int getLayerSize();
}
